package com.dhecp.project.system.service;

import java.util.List;
import java.util.Map;

import com.dhecp.common.core.domain.AjaxResult;
import com.dhecp.project.system.domain.SysModuleNotice;

/**
 * 通知 服务层
 * @author DH-Xxj
 * @version 2020年4月24日
 */
public interface SysModuleNoticeService {

	/**
	 * 查询未读通知数
	 * @param params 无必要参数
	 * @return
	 * @author DH-Xxj
	 */
	Integer queryModuleNoticeWds(Map<String, Object> params);

	/**
	 * 查询未读通知
	 * @param params 无必要参数
	 * @return
	 * @author DH-Xxj
	 * @throws Exception 
	 */
	List<SysModuleNotice> queryModuleNoticeWd(Map<String, Object> params) throws Exception;

	/**
	 * 查询已读通知
	 * @param params 无必要参数
	 * @return
	 * @author DH-Xxj
	 * @throws Exception 
	 */
	List<SysModuleNotice> queryModuleNoticeYd(Map<String, Object> params) throws Exception;
	
	/**
	 * 查询当前用户是发送人数据
	 * @param params 无必要参数
	 * @return
	 * @author DH-Xxj
	 * @throws Exception 
	 */
	List<SysModuleNotice> queryModuleNoticeFs(Map<String, Object> params) throws Exception;

	/**
	 * 通知标记为已读
	 * @param infoItems 对应实体类的json格式字符串（仅需 guid）
	 * @return AjaxResult
	 * @author DH-Xxj
	 */
	AjaxResult updateTaskStateToRead(Map<String, Object> params);
	
	/**
	 * 新增通知
	 * @param 
	 * @return AjaxResult
	 * @author DH-Xxj
	 */
	AjaxResult insertModuleNotice(Map<String, Object> params);

	/**
	 * 查询已绑定企业微信账号并且尚未发送的未读通知
	 * @param
	 * @throws Exception
	 */
	List<Map<String, Object>> queryModuleNoticeWdWithWeChatId() throws Exception;

	/**
	 * 修改发送企业微信应用消息标志
	 * @param idList
	 * @return AjaxResult
	 */
	AjaxResult updateNoticeWxSendFlag(List<String> idList);
}
